<!DOCTYPE html>
<html>
<head>
            <title>FAQ - Dubbo - Alibaba Open Sesame</title>
    
        

                        
    
                        
    
    
            <meta http-equiv="X-UA-Compatible" content="IE=8">
<meta charset="UTF-8">

<!-- Deprecated since 3.4. To be removed in a future version of Confluence; use AJS.Confluence.getContextPath() -->
<meta id="confluence-context-path" name="confluence-context-path" content="/wiki">
<meta name="ajs-context-path" content="/wiki">
<meta name="ajs-version-number" content="3.5.9">
<meta name="ajs-build-number" content="2166">
<meta id="atlassian-token" name="atlassian-token" content="c116db80711201b36e2067aa83f3b044c2d5a30e">
<meta id="confluence-space-key" name="confluence-space-key" content="dubbo">
<meta name="ajs-remote-user" content="">
<meta name="ajs-static-resource-url-prefix" content="/wiki/s/en/2166/34/_">

<script type="text/javascript">
    // Deprecated global variables. To be removed in a future version of Confluence.
    var contextPath = '/wiki';
</script>

    

<!-- include system css resources -->
<link type="text/css" rel="stylesheet" href="batch.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/26/_/download/superbatch/css/batch.css" media="all">
<!--[if IE]>
<link type="text/css" rel="stylesheet" href="batch.css-ieonly=true.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/26/_/download/superbatch/css/batch.css?ieonly=true" media="all">
<![endif]-->
<link type="text/css" rel="stylesheet" href="batch.css-media=print.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/26/_/download/superbatch/css/batch.css?media=print" media="print">
<link type="text/css" rel="stylesheet" href="com.atlassian.confluence.ext.newcode-macro-plugin-syntaxhighlighter.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.9.10/_/download/batch/com.atlassian.confluence.ext.newcode-macro-plugin:syntaxhighlighter/com.atlassian.confluence.ext.newcode-macro-plugin:syntaxhighlighter.css" media="all">
<link type="text/css" rel="stylesheet" href="com.atlassian.confluence.ext.newcode-macro-plugin-sh-theme-confluence.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.9.10/_/download/batch/com.atlassian.confluence.ext.newcode-macro-plugin:sh-theme-confluence/com.atlassian.confluence.ext.newcode-macro-plugin:sh-theme-confluence.css" media="all">
<link type="text/css" rel="stylesheet" href="confluence-forms.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0/_/download/resources/confluence.web.resources:aui-forms/confluence-forms.css" media="all">
<!--[if IE]>
<link type="text/css" rel="stylesheet" href="confluence.web.resources-aui-forms.css-ieonly=true.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0/_/download/batch/confluence.web.resources:aui-forms/confluence.web.resources:aui-forms.css?ieonly=true" media="all">
<![endif]-->
<link type="text/css" rel="stylesheet" href="com.atlassian.confluence.plugins.share-page-mail-page-resources.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.8/_/download/batch/com.atlassian.confluence.plugins.share-page:mail-page-resources/com.atlassian.confluence.plugins.share-page:mail-page-resources.css" media="all">
<link type="text/css" rel="stylesheet" href="confluence.web.resources-view-comment.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0/_/download/batch/confluence.web.resources:view-comment/confluence.web.resources:view-comment.css" media="all">
<!--[if IE]>
<link type="text/css" rel="stylesheet" href="confluence.web.resources-view-comment.css-ieonly=true.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0/_/download/batch/confluence.web.resources:view-comment/confluence.web.resources:view-comment.css?ieonly=true" media="all">
<![endif]-->
<link type="text/css" rel="stylesheet" href="confluence.macros.advanced-fancy-box.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.16/_/download/batch/confluence.macros.advanced:fancy-box/confluence.macros.advanced:fancy-box.css" media="all">
<link type="text/css" rel="stylesheet" href="com.atlassian.confluence.plugins.drag-and-drop-support.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0.16/_/download/batch/com.atlassian.confluence.plugins.drag-and-drop:support/com.atlassian.confluence.plugins.drag-and-drop:support.css" media="all">
<link type="text/css" rel="stylesheet" href="com.atlassian.plugins.shortcuts.atlassian-shortcuts-module-shortcuts.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/0.8/_/download/batch/com.atlassian.plugins.shortcuts.atlassian-shortcuts-module:shortcuts/com.atlassian.plugins.shortcuts.atlassian-shortcuts-module:shortcuts.css" media="all">
<link type="text/css" rel="stylesheet" href="com.atlassian.confluence.keyboardshortcuts-confluence-keyboard-shortcuts.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/download/batch/com.atlassian.confluence.keyboardshortcuts:confluence-keyboard-shortcuts/com.atlassian.confluence.keyboardshortcuts:confluence-keyboard-shortcuts.css" media="all">

<!-- end system css resources -->

    <link rel="stylesheet" href="combined.css-spaceKey=dubbo.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/3/_/styles/combined.css?spaceKey=dubbo" type="text/css">

    <meta name="confluence-request-time" content="1392025227213">

<meta name="loggedInUsername" content="">
            <meta name="ajs-keyboardshortcut-hash" content="bf02a79603372a43d395a0a429bdf66">
    <!-- Deprecated since 3.4. To be removed in a future version of Confluence; use atl.header -->
            <script type="text/x-template" title="share-content-popup">
    <form action="#" method="post" class="aui share-content-popup">
        <fieldset>
            <label for="users">User name or email</label>
            <div class="autocomplete-user-target">
                <input class="text autocomplete-sharepage" id="users" data-max="10" data-dropdown-target=".autocomplete-user-target" data-none-message="No matching user or email found"/>
            </div>
            <ol class="recipients">
            </ol>
            <div><label for="note">Note</label></div>
            <textarea class="textarea" id="note" placeholder="Add an optional note"/>
        </fieldset>
        <div class="button-panel">
            <div class="progress-messages-icon"></div>
            <div class="progress-messages">
            </div>
            <input class="button submit" type="submit" value="Share" disabled/>
            <a class="close-dialog" href="#">Cancel</a>
        </div>
    </form>
</script>

<script type="text/x-template" title="share-content-popup-recipient-username">
    <li data-username="{username}" style="display: none">
        <span>
            <img src="{thumbnailLink.href}" title="{title}">
            <span>{title}</span>
            <span class="remove-recipient"/>
        </span>
    </li>
</script>

<script type="text/x-template" title="share-content-popup-recipient-email">
    <li data-email="{email}" style="display: none">
        <span>
            <img src="{icon}" title="{email}">
            <span>{email}</span>
            <span class="remove-recipient"/>
        </span>
    </li>
</script>
            <meta name="ajs-use-keyboard-shortcuts" content="true">
    
    <link rel="shortcut icon" href="/wiki/favicon.ico">
    <link rel="icon" type="image/png" href="/wiki/s/en/2166/34/_/images/logo/confluence_16.png">

<link rel="search" type="application/opensearchdescription+xml" href="/wiki/opensearch/osd.action" title="Alibaba Open Sesame"/>

        <!-- include system javascript resources -->
                        
    
    <script type="text/javascript" src="batch.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/26/_/download/superbatch/js/batch.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.ext.newcode-macro-plugin-syntaxhighlighter.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.9.10/_/download/batch/com.atlassian.confluence.ext.newcode-macro-plugin:syntaxhighlighter/com.atlassian.confluence.ext.newcode-macro-plugin:syntaxhighlighter.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.ext.newcode-macro-plugin-syntaxhighlighter-brushes.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.9.10/_/download/batch/com.atlassian.confluence.ext.newcode-macro-plugin:syntaxhighlighter-brushes/com.atlassian.confluence.ext.newcode-macro-plugin:syntaxhighlighter-brushes.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.plugins.share-page-mail-page-resources.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.8/_/download/batch/com.atlassian.confluence.plugins.share-page:mail-page-resources/com.atlassian.confluence.plugins.share-page:mail-page-resources.js" ></script>
<script type="text/javascript" src="confluence.macros.advanced-fancy-box.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.16/_/download/batch/confluence.macros.advanced:fancy-box/confluence.macros.advanced:fancy-box.js" ></script>
<script type="text/javascript" src="confluence.macros.advanced-thumbnail-images.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.16/_/download/batch/confluence.macros.advanced:thumbnail-images/confluence.macros.advanced:thumbnail-images.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.plugins.drag-and-drop-support.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0.16/_/download/batch/com.atlassian.confluence.plugins.drag-and-drop:support/com.atlassian.confluence.plugins.drag-and-drop:support.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.plugins.drag-and-drop-drag-and-drop-for-view-content.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0.16/_/download/batch/com.atlassian.confluence.plugins.drag-and-drop:drag-and-drop-for-view-content/com.atlassian.confluence.plugins.drag-and-drop:drag-and-drop-for-view-content.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.plugins.doctheme-splitter.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.9/_/download/batch/com.atlassian.confluence.plugins.doctheme:splitter/com.atlassian.confluence.plugins.doctheme:splitter.js" ></script>
<script type="text/javascript" src="com.atlassian.plugins.shortcuts.atlassian-shortcuts-module-shortcuts.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/0.8/_/download/batch/com.atlassian.plugins.shortcuts.atlassian-shortcuts-module:shortcuts/com.atlassian.plugins.shortcuts.atlassian-shortcuts-module:shortcuts.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.keyboardshortcuts-confluence-keyboard-shortcuts.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/download/batch/com.atlassian.confluence.keyboardshortcuts:confluence-keyboard-shortcuts/com.atlassian.confluence.keyboardshortcuts:confluence-keyboard-shortcuts.js" ></script>
<script type="text/javascript" src="legacy.confluence.web.resources-prototype.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0/_/download/batch/legacy.confluence.web.resources:prototype/legacy.confluence.web.resources:prototype.js" ></script>

    
    <!-- end system javascript resources -->

    

    
    <link rel="canonical" href="http://code.alibabatech.com/wiki/display/dubbo/FAQ">
    <link rel="shortlink" href="http://code.alibabatech.com/wiki/x/sQFq">
    <meta name="wikilink" content="[dubbo:FAQ]">
    <meta name="page-version" content="30">

</head>
    
<body             onload="placeFocus()"
     id="com-atlassian-confluence" class="theme-default ">
<ul id="assistive-skip-links" class="assistive">
    <li><a href="#title-heading">Skip to content</a></li>
    <li><a href="#breadcrumbs">Skip to breadcrumbs</a></li>
    <li><a href="#header-menu-bar">Skip to header menu</a></li>
    <li><a href="#navigation">Skip to action menu</a></li>
    <li><a href="#quick-search-query">Skip to quick search</a></li>
</ul>
<div id="page">
<div id="full-height-container">



<fieldset class="hidden parameters">
    <input type="hidden" id="shortcutDialogTip" value="Shortcut tip: Pressing <b>{shortcut}</b> also opens this dialog box">
        <input type="hidden" title="i18n.close.name" value="Close">
        <input type="hidden" title="i18n.cancel.name" value="Cancel">
</fieldset><fieldset class="hidden parameters">
    <input type="hidden" id="statusDialogHeading" value="What are you working on?">
    <input type="hidden" id="statusDialogAccessibilityLabel" value="Enter your status (140 character limit)">
    <input type="hidden" id="statusDialogLatestLabel" value="Last update:">
    <input type="hidden" id="statusDialogUpdateButtonLabel" value="Update">
    <input type="hidden" id="statusDialogCancelButtonLabel" value="Cancel">
</fieldset>

<fieldset class="hidden parameters">
    <input type="hidden" id="globalSettingsAttachmentMaxSize" value="10485760">
    <input type="hidden" id="userLocale" value="en_GB">
    <input type="hidden" id="staticResourceUrlPrefix" value="/wiki/s/en/2166/34/_">
    <input type="hidden" id="contextPath" value="/wiki">
</fieldset>

    
<div id="header" class="" style="display: none">
        <form id="quick-search" class="quick-search" method="get" action="http://10.20.160.198/wiki/dosearchsite.action">
        <fieldset>
            <label class="assistive" for="quick-search-query">Quick Search</label>
            <input class="quick-search-query" id="quick-search-query" type="text" accessKey="q" autocomplete="off" name="queryString" size="25" title="Quick Search" />
            <input class="quick-search-submit" id="quick-search-submit" type="submit" value="Search" />
            <div class="aui-dd-parent quick-nav-drop-down"><!-- Quick nav appears here --></div>
        </fieldset>
        <fieldset class="hidden parameters">
            <input type="hidden" id="quickNavEnabled" value="true" />
                    </fieldset>
    </form>
    <ul id="header-menu-bar" class="ajs-menu-bar">
                    
        
            <li class="normal ajs-menu-item">
        <a id="browse-menu-link" class="browse trigger ajs-menu-title" href="#"><span><span>Browse</span></span></a>         <div class="assistive ajs-drop-down">
                        <ul  id="browse-menu-link-leading"                 class="section-leading first">
                                        <li>
    
        
    
    <a  id="space-pages-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/listpages.action?key=dubbo  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/listpages.action?key=dubbo%27" tppabs="http://10.20.160.198/wiki/pages/listpages.action?key=dubbo"  class=""   title="Browse pages in the Dubbo space">
                   <span>Pages</span></a>        </li>
                                        <li>
    
        
    
    <a  id="space-blogposts-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/viewrecentblogposts.action?key=dubbo  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/viewrecentblogposts.action?key=dubbo%27" tppabs="http://10.20.160.198/wiki/pages/viewrecentblogposts.action?key=dubbo"  class=""   title="Browse blogs in the Dubbo space">
                   <span>Blog</span></a>        </li>
                                        <li>
    
        
    
    <a  id="space-labels-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/labels/listlabels-heatmap.action?key=dubbo  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/labels/listlabels-heatmap.action?key=dubbo%27" tppabs="http://10.20.160.198/wiki/labels/listlabels-heatmap.action?key=dubbo"  class=""   title="Browse labels in the Dubbo space">
                   <span>Labels</span></a>        </li>
                                        <li>
    
        
    
    <a  id="space-attachments-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/spaces/listattachmentsforspace.action?key=dubbo  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/spaces/listattachmentsforspace.action?key=dubbo%27" tppabs="http://10.20.160.198/wiki/spaces/listattachmentsforspace.action?key=dubbo"  class=""   title="Browse attachments in the Dubbo space">
                   <span>Attachments</span></a>        </li>
                                        <li>
    
        
    
    <a  id="space-mail-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/spaces/viewmailarchive.action?key=dubbo  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/spaces/viewmailarchive.action?key=dubbo%27" tppabs="http://10.20.160.198/wiki/spaces/viewmailarchive.action?key=dubbo"  class=""   title="Browse mail in the Dubbo space">
                   <span>Mail</span></a>        </li>
                                        <li>
    
        
    
    <a  id="space-advanced-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/spaces/viewspacesummary.action?key=dubbo  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/spaces/viewspacesummary.action?key=dubbo%27" tppabs="http://10.20.160.198/wiki/spaces/viewspacesummary.action?key=dubbo"  class=""   title="Browse additional space functions in the Dubbo space">
                   <span>Advanced</span></a>        </li>
                                        <li>
    
        
    
    <a  href="javascript:if(confirm(%27http://10.20.160.198/wiki/spaces/usage/report.action?key=dubbo  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/spaces/usage/report.action?key=dubbo%27" tppabs="http://10.20.160.198/wiki/spaces/usage/report.action?key=dubbo"  class=""   title="">
                   <span>Activity</span></a>        </li>
                            </ul>
                        <ul  id="browse-menu-link-global"                 class="section-global">
                                        <li>
    
        
    
    <a  id="whats-new-menu-link" href="javascript:if(confirm(%27http://docs.atlassian.com/confluence/docs-35/whatsnew/iframe  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://docs.atlassian.com/confluence/docs-35/whatsnew/iframe%27" tppabs="http://docs.atlassian.com/confluence/docs-35/whatsnew/iframe"  class=""   title="">
                   <span>What’s New</span></a>        </li>
                                        <li>
    
        
    
    <a  id="people-directory-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/peopledirectory.action  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/peopledirectory.action%27" tppabs="http://10.20.160.198/wiki/peopledirectory.action"  class=""   title="Browse the Confluence people directory">
                   <span>People Directory</span></a>        </li>
                                        <li>
    
        
    
    <a  id="space-directory-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/spacedirectory/view.action  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/spacedirectory/view.action%27" tppabs="http://10.20.160.198/wiki/spacedirectory/view.action"  class=""   title="Browse the Confluence space directory">
                   <span>Space Directory</span></a>        </li>
                                        <li>
    
        
    
    <a  id="keyboard-shortcuts-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki%27" tppabs="http://10.20.160.198/wiki"  class=""   title="View available keyboard shortcuts">
                   <span>Keyboard Shortcuts</span></a>        </li>
                                        <li>
    
        
    
    <a  id="gadget-directory-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki%27" tppabs="http://10.20.160.198/wiki"  class="user-item administration-link"   title="Browse gadgets provided by Confluence">
                   <span>Confluence Gadgets</span></a>        </li>
                            </ul>
                    </div>
    </li>
        
                                                         <li class="ajs-menu-item normal">
        
        
    
    <a  id="login-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/login.action?os_destination=%2Fdisplay%2Fdubbo%2FFAQ%3FfocusedCommentId%3D9633823  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/login.action?os_destination=%2Fdisplay%2Fdubbo%2FFAQ%3FfocusedCommentId%3D9633823%27" tppabs="http://10.20.160.198/wiki/login.action?os_destination=%2Fdisplay%2Fdubbo%2FFAQ%3FfocusedCommentId%3D9633823"  class="user-item login-link"   title="">
                   <span>Log In</span></a>        </li>
                            </ul>
    
    
    <ol id="breadcrumbs">
                    
                        
        <li class="first" >
                                            <span><a href="javascript:if(confirm(%27http://10.20.160.198/wiki/dashboard.action  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/dashboard.action%27" tppabs="http://10.20.160.198/wiki/dashboard.action" title="Go to Dashboard">Dashboard</a></span>
                </li>
                    
                
        <li>
                                            <span><a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/dubbo  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/dubbo%27" tppabs="http://10.20.160.198/wiki/display/dubbo">Dubbo</a></span>
                </li>
                    
                
        <li>
                                            <span><a href="Home.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Home">Home</a></span>
                </li>
                    
                
        <li>
                                            <span>FAQ</span>
                </li>
        </ol>

</div><!-- \#header -->

<div id="main" >
    
    
    <div id="navigation" class="content-navigation view" style="display: none">
        <fieldset class="hidden parameters">
            <input type="hidden" id="pageId" value="6947249">
        </fieldset>
        <ul class="ajs-menu-bar">
                                
            <li class="normal ajs-menu-item">
        <a id="add-menu-link" class="add trigger ajs-menu-title" href="#"><span><span>Add</span></span></a>         <div class="assistive ajs-drop-down">
                        <ul  id="add-menu-link-page"                 class="section-page first">
                                        <li>
    
        
    
    <a  id="add-comment-menu-link" href="FAQ-showComments=true&showCommentArea=true.htm#addcomment" tppabs="http://10.20.160.198/wiki/display/dubbo/FAQ?showComments=true&showCommentArea=true#addcomment"  class="add-comment"   title="Add a Comment">
                   <span>Comment</span></a>        </li>
                            </ul>
                    </div>
    </li>
                    
            <li class="normal ajs-menu-item">
        <a id="action-menu-link" class="action trigger ajs-menu-title" href="#"><span><span>Tools</span></span></a>         <div class="assistive ajs-drop-down">
                        <ul  id="action-menu-link-primary"                 class="section-primary first">
                                        <li>
    
        
    
    <a  id="view-attachments-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/viewpageattachments.action?pageId=6947249  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/viewpageattachments.action?pageId=6947249%27" tppabs="http://10.20.160.198/wiki/pages/viewpageattachments.action?pageId=6947249"  class="action-view-attachments"  accessKey="a"  title="View Attachments">
                   <span><u>A</u>ttachments (0)</span></a>        </li>
                                        <li>
    
        
    
    <a  id="action-view-history-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/viewpreviousversions.action?pageId=6947249  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/viewpreviousversions.action?pageId=6947249%27" tppabs="http://10.20.160.198/wiki/pages/viewpreviousversions.action?pageId=6947249"  class="action-view-history"   title="">
                   <span>Page History</span></a>        </li>
                                        <li>
    
        
    
    <a  id="action-page-permissions-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6947249  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6947249%27" tppabs="http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6947249"  class="action-page-permissions"   title="Edit restrictions">
                   <span>Restrictions</span></a>        </li>
                            </ul>
                        <ul  id="action-menu-link-secondary"                 class="section-secondary">
                                        <li>
    
        
    
    <a  id="view-page-info-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6947249  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6947249%27" tppabs="http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6947249"  class="action-view-info"   title="">
                   <span>Info</span></a>        </li>
                                        <li>
    
        
    
    <a  id="link-to-page-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6947249  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6947249%27" tppabs="http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6947249"  class=""   title="Link to this Page">
                   <span>Link to this Page&hellip;</span></a>        </li>
                                        <li>
    
        
    
    <a  id="view-in-hierarchy-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/listpages-dirview.action?key=dubbo&openId=6947249  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/listpages-dirview.action?key=dubbo&openId=6947249#selectedPageInHierarchy%27" tppabs="http://10.20.160.198/wiki/pages/listpages-dirview.action?key=dubbo&openId=6947249#selectedPageInHierarchy"  class=""   title="">
                   <span>View in Hierarchy</span></a>        </li>
                                        <li>
    
        
    
    <a  id="action-view-source-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/viewpagesrc.action?pageId=6947249  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/viewpagesrc.action?pageId=6947249%27" tppabs="http://10.20.160.198/wiki/pages/viewpagesrc.action?pageId=6947249"  class="action-view-source popup-link"   title="">
                   <span>View Wiki Markup</span></a>        </li>
                            </ul>
                    </div>
    </li>
            </ul>
    </div>

    
    <h1 id="title-heading" class="pagetitle" style="display: none">
                    <a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/dubbo  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/dubbo%27" tppabs="http://10.20.160.198/wiki/display/dubbo"><img class="logo space custom" src="dubbo-version=5&modificationDate=1320723683000.jpg" tppabs="http://10.20.160.198/wiki/download/attachments/6324241/dubbo?version=5&modificationDate=1320723683000" alt=""></a>        
	
    </h1>

    

                            <div id="content" class="page view">
    



<div id="link-to-page-fields" class="hidden parameters">
    <input type="hidden" id="linkToThisPageHeading" value="Link to this Page">
    <input type="hidden" id="linkToThisPageLink" value="Link">
    <input type="hidden" id="linkToThisPageTinyLink" value="Tiny Link">
    <input type="hidden" id="linkToThisPageWikiMarkup" value="Wiki Markup">
    <input type="hidden" id="linkToThisPageClose" value="Close">
</div>
<fieldset class="hidden parameters">
    <input type="hidden" title="movePageDialogViewPageTitle" value="Move Page &ndash; &#8216;FAQ&#8217;">
    <input type="hidden" title="movePageDialogEditPageTitle" value="Set Page Location">
    <input type="hidden" title="movePageDialogMoveButton" value="Move">
    <input type="hidden" title="movePageDialogCancelButton" value="Cancel">
    <input type="hidden" title="movePageDialogBrowsePanelTip" value="Click to select the new parent page for this page and its children.">
    <input type="hidden" title="movePageDialogSearchPanel" value="Search">
    <input type="hidden" title="movePageDialogHistoryPanel" value="Recently Viewed">
    <input type="hidden" title="movePageDialogHistoryNoResults" value="There were no recently viewed pages found.">
    <input type="hidden" title="movePageDialogLocationPanel" value="Known Location">
    <input type="hidden" title="movePageDialogLocationNotFound" value="The specified page was not found.">
    <input type="hidden" title="movePageDialogBrowsePanel" value="Browse">
    <input type="hidden" title="movePageDialogPanelLoadErrorMsg" value="Error reading the panel content from the server.">
    <input type="hidden" title="movePageDialogPanelLoadErrorTip" value="You could try reloading the page and launching the dialog again.">
    <input type="hidden" title="movePageDialogPanelLoadErrorStatus" value="HTTP Status">
    <input type="hidden" title="movePageDialogNoSelectionErrorMsg" value="You must make a selection in the tree before you can move the page.">
    <input type="hidden" title="movePageDialogSearchError" value="Failed to retrieve search results from the server.">
    <input type="hidden" title="movePageDialogSearchNoResults" value="There were no pages found containing <b>{0}</b>.">
    <input type="hidden" title="movePageDialogSearchResultCount" value="Showing <b>{0}</b>-<b>{1}</b> of <b>{2}</b> pages containing <b>{3}</b>.">
    <input type="hidden" title="movePageDialogMoveFailed" value="Move failed. There was a problem contacting the server.">
    <input type="hidden" title="movePageDialogCannotChangeSpace" value="You cannot move this page to another space because you do not have permission to remove it from this space.">
    <input type="hidden" title="pageTitle" value="FAQ"/>
    <input type="hidden" title="parentPageTitle" value="Home"/>
    <input type="hidden" title="fromPageTitle" value=""/>
    <input type="hidden" title="spaceKey" value="dubbo"/>
    <input type="hidden" title="spaceName" value="Dubbo"/>
    <input type="hidden" title="movePageDialogInvalidLocation" value="You cannot move a page to be underneath itself or its children."/>
    <input type="hidden" title="movePageDialogOrderingTitle" value="Page Ordering"/>
    <input type="hidden" title="movePageDialogBackButton" value="Back"/>
    <input type="hidden" title="movePageDialogMoveAndOrderButton" value="Reorder"/>
    <input type="hidden" title="movePageDialogNextButton" value="Move"/>
</fieldset>

<script type="text/x-template" title="movePageDialog">
    <div class="row information">
        <div class="inner">
            <div class="element">
                Specify the new parent page for this page and its children by space and title.
            </div>
        </div>
    </div>
    <div class="form">
        <fieldset>
                

    <legend class="assistive"><span>Change the Parent Page to a Known Page</span></legend>
            <div class="row">
                <label for="new-space">New space:</label>
                <div class="value new-space-value">
                    <input id="new-space-key" name="new-space-key" type="hidden" value="dubbo">
                                            <span class="space-input">
                            <input id="new-space" name="new-space" value="Dubbo" disabled="disabled">
                        </span>
                        <span class="description warning">You cannot move this page to another space because you do not have permission to remove it from this space.</span>
                                        <div class="new-space-dropdown aui-dd-parent autocomplete"></div>
                </div>
            </div>
            <div class="row">
                <label for="new-parent-page">New parent page:</label>
                <div class="value new-parent-page-value">
                    <span class="page-input">
                        <input id="new-parent-page" name="new-parent-page" value="Home">
                    </span>
                    <span class="description">Start typing a page title to see a list of suggestions.</span>
                    <div class="new-parent-page-dropdown aui-dd-parent autocomplete"></div>
                </div>
            </div>
        </fieldset>
    </div>
    <div class="location-info">
        <div class="row">
            <label>Current location:</label>
            <div class="value breadcrumbs-container">
                <div class="breadcrumbs-line">
                    <ul id="current-parent-breadcrumbs" class="breadcrumbs">
                    </ul>
                </div>
            </div>
        </div>
        <div class="row">
            <label>New location:</label>
            <div class="value breadcrumbs-container">
                <div class="breadcrumbs-line">
                    <ul id="new-parent-breadcrumbs" class="breadcrumbs">
                    </ul>
                </div>
            </div>
        </div>
    </div>
</script>
<script type="text/x-template" title="movePageErrors">
    <div id="move-errors" class="hidden warning"></div>
</script>
<script type="text/x-template" title="movePageBreadcrumb">
    <li><a class="{2}" title="{3}" tabindex="-1"><span>{0}</span></a></li>
</script>
<script type="text/x-template" title="movePageBreadcrumbLoading">
    <li class="loading"><span>Loading breadcrumbs&hellip;</span></li>
</script>
<script type="text/x-template" title="movePageBreadcrumbError">
    <li class="warning last"><span>Error retrieving breadcrumbs.</span></li>
</script>
<script type="text/x-template" title="movePageNoMatchingPages">
    <ol><li><span class="warning">No matching pages found.</span></li></ol>
</script>
<script type="text/x-template" title="movePageNoMatchingSpaces">
    <ol><li><span class="warning">No matching spaces found.</span></li></ol>
</script>

<script type="text/x-template" title="movePageSearchPanel">
    <div class="row information">
        <div class="inner">
            <div class="element">
                Search for and select the new parent page for this page and its children.
            </div>
        </div>
    </div>
    <div id="move-page-search-container" class="row">
        <div class="search-form">
            <fieldset>
                    

    <legend class="assistive"><span>Search for a New Parent Page</span></legend>
                    

    <label  for="move-page-search-query" class="assistive">Search keywords</label>
                <input class="search-query" id="move-page-search-query">
                    

    <label  for="move-page-search-space" class="assistive">Search in space</label>
                                    <select id="move-page-search-space" class="search-space" disabled="disabled">
                        <option value="dubbo" selected="selected">Dubbo</option>
                    </select>
                                <input type="button" value="Search">
                                    <div class="description warning">You cannot move this page to another space because you do not have permission to remove it from this space.</div>
                            </fieldset>
        </div>
        <div class="search-results">
        </div>
    </div>
</script>
<script type="text/x-template" title="movePageSearchResultsLoading">
    <div class="searching">Searching…</div>
</script>

<script type="text/x-template" title="movePageHistoryPanel">
    <div class="row information">
        <div class="inner">
            <div class="element">
                Select the new parent page for this page and its children from your history.
            </div>
        </div>
    </div>
    <div id="move-page-search-container" class="row">
        <div class="search-results">
        </div>
    </div>
</script>
<script type="text/x-template" title="movePageHistoryLoading">
    <div class="searching">Loading…</div>
</script>
<script type="text/x-template" title="movePageBrowsePanel">
    <div class="row information">
        <div class="inner">
            <div class="element">
                Click to select the new parent page for this page and its children.
            </div>
        </div>
    </div>
    <div class="tree"></div>
</script>
<script type="text/x-template" title="movePagePanelLoading">
    <span>Loading…</span>
</script>
<script type="text/x-template" title="movePageBrowsePanelSpace">
    <ul><li id='tree-root-node-item' class='root-node-list-item'><a class='root-node' href='#'>{0}</a></li></ul>
</script>
<script type="text/x-template" title="orderingPagePanel">
<div id="orderingPlaceHolder"></div>
</script>
<script type="text/x-template" title="reorderCheckbox">
<span id="reorderRequirement"><input id="reorderCheck" type="checkbox" name="reorderFlag" title="Choose the position of this page within the list of child pages."/><label for="reorderCheck" title="Choose the position of this page within the list of child pages.">Reorder</label></span>
</script>
<script type="text/x-template" title="move-help-link">
    <div class="dialog-help-link">
            <a href="http://docs.atlassian.com/confluence/docs-35/Moving+a+Page" target="_blank">Help</a>
    </div>
</script>
<script type="text/x-template" title="searchResultsGrid">
    <table>
        <thead>
            <tr class="header">
                <th class="search-result-title">Page Title</th>
                <th class="search-result-space">Space</th>
                <th class="search-result-date">Updated</th>
            </tr>
        </thead>
    </table>
</script>
<script type="text/x-template" title="searchResultsGridCount">
    <p class="search-result-count">{0}</p>
</script>
<script type="text/x-template" title="searchResultsGridRow">
    <tr class="search-result">
        <th class="search-result-title"><a href="{1}" class="content-type-{2}"><span>{0}</span></a></th>
        <td class="search-result-space"><a class="space" href="http://10.20.160.198/wiki/display/{4}/" title="{3}">{3}</a></td>
        <td class="search-result-date"><span class="date" title="{6}">{5}</span></td>
    </tr>
</script>
<!-- Start restrictions section -->
<script type="text/x-template" title="page-permissions-div">
<div id="page-permissions-div">
    <div id="page-permissions-editor-form">

                <div id="page-permissions-error-div" class="hidden">
            <a href="#" id="permissions-error-div-close">Ok</a>
            <div></div>
        </div>

                <div id="page-permissions-type-radios" class="page-permissions-label-rows">
            <div>
                <input id="restrictViewRadio" type="radio" checked="checked" name="pagePermissionTypeRadio" value="view"/>
                <label for="restrictViewRadio">Restrict viewing of this page</label>
                <input id="restrictEditRadio" type="radio" name="pagePermissionTypeRadio" value="edit"/>
                <label for="restrictEditRadio">Restrict editing of this page</label>
            </div>
        </div>
        <div id="page-permissions-input" class="page-permissions-label-rows">
            <div class="page-permissions-label">To:</div>
            <div id="page-permissions-chooser-box">
                                <span id="page-permissions-choose-user" class="ajs-button">
                    



    



<a href="#" id='userpicker-popup-link-image' onClick="var picker = window.open('http://10.20.160.198/wiki/spaces/openuserpicker.action?key=dubbo&startIndex=0&onPopupSubmit=AJS.PagePermissions.addUserPermissions', 'EntitiesPicker', 'status=yes,resizable=yes,top=100,left=200,width=700,height=680,scrollbars=yes'); picker.focus(); return false;"><img src="user_16.gif"/*tpa=http://10.20.160.198/wiki/s/en/2166/34/_/images/icons/user_16.gif*/ height=16 width=16 border=0 align="absmiddle"  title="Choose users" /></a>
<a href="#" id='userpicker-popup-link-text' onClick="var picker = window.open('http://10.20.160.198/wiki/spaces/openuserpicker.action?key=dubbo&startIndex=0&onPopupSubmit=AJS.PagePermissions.addUserPermissions', 'EntitiesPicker', 'status=yes,resizable=yes,top=100,left=200,width=700,height=680,scrollbars=yes'); picker.focus(); return false;">Person...</a>


                </span>
                <span id="page-permissions-choose-group" class="ajs-button">
                    



    

 

<a href="#" id='grouppicker-popup-link-image' onClick="var picker = window.open('http://10.20.160.198/wiki/spaces/opengrouppicker.action?key=dubbo&startIndex=0&actionName=dosearchgroups.action&onPopupSubmit=AJS.PagePermissions.addGroupPermissions', 'EntitiesPicker', 'status=yes,resizable=yes,top=100,left=200,width=580,height=550,scrollbars=yes'); picker.focus(); return false;"><img src="group_16.gif"/*tpa=http://10.20.160.198/wiki/s/en/2166/34/_/images/icons/group_16.gif*/ height=16 width=16 border=0 align="absmiddle"  title="Choose groups" /></a>
<a href="#" id='grouppicker-popup-link-text' onClick="var picker = window.open('http://10.20.160.198/wiki/spaces/opengrouppicker.action?key=dubbo&startIndex=0&actionName=dosearchgroups.action&onPopupSubmit=AJS.PagePermissions.addGroupPermissions', 'EntitiesPicker', 'status=yes,resizable=yes,top=100,left=200,width=580,height=550,scrollbars=yes'); picker.focus(); return false;">Group...</a>


                </span>
            </div>
            <div id="page-permissions-input-box">
                                <span>
                    <input type="text" id="page-permissions-names-input" class="input-placeholder" value="Enter user or group name" name="permissionNames" size="30" autocomplete="off"/>
                </span>
                <input
    type="hidden"
                            id="page-permissions-names-hidden"           />                <img height="16px" width="1px" src="spacer.gif"/*tpa=http://10.20.160.198/wiki/s/en/2166/34/_/images/border/spacer.gif*//>
                <input type="button" id="add-typed-names" value="Restrict">
            </div>
        </div>
    </div>
    <div id="page-permissions-tables">
        <div id="page-permissions-table-div">
                        <table id="page-permissions-table" class="page-permissions-table">
                <tr id="page-permissions-no-views" class="marker-row">
                    <td colspan="3" class="page-permissions-marker-cell"><span>No view restrictions are defined for this page</span></td>
                </tr>
                <tr id="page-permissions-no-edits" class="marker-row">
                    <td colspan="3" class="page-permissions-marker-cell"><span>No edit restrictions are defined for this page</span></td>
                </tr>
            </table>
        </div>
        <div id="page-inherited-permissions-table-div" class="hidden">
            <span id="page-inherited-permissions-table-desc">
                <a class="icon twisty-closed">Show/Hide</a>
                <a id="toggle-inherited-permissions" title="Click to see inherited restrictions">This page has restricted parent pages. It can only be seen by users who can see those parent pages.</a>
            </span>
            <div id="page-inherited-permissions-tables" class="hidden page-inheritance-togglable"></div>
        </div>
    </div>
</div>
</script>

<script type="text/x-template" title="permissions-row-template">
    <tr class="permission-row">
                                
                <td class="page-permissions-marker-cell" width="20%">
            <span>Viewing restricted to:</span>
        </td>
                <td class="permission-entity" nowrap="true" width="40%">
            <span class="entity-container">
                <img class="permission-entity-picture"/>
                <span class="permission-entity-display-name"></span>
                <span class="permission-entity-name-wrap">&nbsp;(<span class="permission-entity-name"></span>)</span>
            </span>
        </td>
        <td class="permission-detail-column">
            <div class="permission-remove-div">
                <a href="#" class="remove-permission-link">Remove restriction</a>
            </div>
        </td>
    </tr>
</script>
<script type="text/x-template" title="permissions-username-no-suggestion-template">
    <ol>
        <li><a href="#" class="message"><span>No matches</span></a></li>
    </ol>
</script>
<script type="text/x-template" title="page-inherited-permissions-table-div-template">
        <div class="page-inherited-permissions-owner-div">
        <div class="page-inherited-permissions-table-desc">Viewing restrictions apply to “<a></a>”. In order to see “<span></span>”, a user must be in the following list of users and groups:</div>
        <table class="page-permissions-table"></table>
    </div>
</script>
<script type="text/x-template" title="page-restrictions-help-link">
    <div class="dialog-help-link">
            <a href="http://docs.atlassian.com/confluence/docs-35/Page+Restrictions" target="_blank">Help</a>
    </div>
</script>
<!-- End restrictions section -->

<fieldset class="hidden parameters">
    <input type="hidden" title="spaceKeyEncoded" value="dubbo">
    <input type="hidden" title="spaceKeyDecoded" value="dubbo">
</fieldset>


        
    
    
        
                            
    

                    

        
        <a href="#page-metadata-end" class="assistive">Skip to end of metadata</a>
<div id="page-metadata-start" class="assistive"></div>

    <div class="page-metadata">
        <ul>
                            <li class="page-metadata-item noprint">
    
            
    
    <a  id="content-metadata-page-restrictions" href="#"  class="page-metadata-icon page-restrictions hidden"   title="Page restrictions apply. Click the lock icon to view or edit the restriction.">
                   <span>Page restrictions apply</span></a>        </li>
                        <li class="page-metadata-modification-info" style="display: none">
                                    Added by <a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~william.liangf  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~william.liangf%27" tppabs="http://10.20.160.198/wiki/display/~william.liangf"
                          class="url fn confluence-userlink" data-username="william.liangf"
                   >梁 飞</a>, last edited by <a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~william.liangf  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~william.liangf%27" tppabs="http://10.20.160.198/wiki/display/~william.liangf"
                          class="url fn confluence-userlink" data-username="william.liangf"
                   >梁 飞</a> on 十一月 15, 2012
                                                                <span class="noprint">&nbsp;(<a id="view-change-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/diffpages.action?pageId=6947249&originalId=7674563  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/diffpages.action?pageId=6947249&originalId=7674563%27" tppabs="http://10.20.160.198/wiki/pages/diffpages.action?pageId=6947249&originalId=7674563">view change</a>)</span>
                                                </li>
                    </ul>
          <div id="version-comment" class="noteMacro" style="display: none;">
      <strong>Comment:</strong>
      <br />
  </div>
    </div>


<a href="#page-metadata-start" class="assistive">Go to start of metadata</a>
<div id="page-metadata-end" class="assistive"></div>
        
        <fieldset class="hidden parameters">
                        <input type="hidden" title="browsePageTreeMode" value="view">
            <input type="hidden" title="parentPageId" value="6324242">
        </fieldset>

        <div class="wiki-content">
           <!-- wiki content -->
            <table class="sectionMacro" border="0" cellpadding="5" cellspacing="0" width="100%"><tbody><tr><td class="confluenceTd" valign="top"><p><br class="atl-forced-newline" /></p>
<p><a href="Home.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Home" title="Home"><b>Home</b></a> &nbsp;&#124;&#124;&nbsp; <a href="Download.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Download" title="Download"><b>Download</b></a> &nbsp;&#124;&#124;&nbsp; <a href="User+Guide.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/User+Guide" title="User Guide"><b>User Guide</b></a> &nbsp;&#124;&#124;&nbsp; <a href="Developer+Guide.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Developer+Guide" title="Developer Guide"><b>Developer Guide</b></a> &nbsp;&#124;&#124;&nbsp; <a href="Administrator+Guide.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Administrator+Guide" title="Administrator Guide"><b>Administrator Guide</b></a> &nbsp;&#124;&#124;&nbsp; <a href="Training.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Training" title="Training"><b>Training</b></a> &nbsp;&#124;&#124;&nbsp; <a href="FAQ.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/FAQ" title="FAQ"><b>FAQ</b></a> &nbsp;&#124;&#124;&nbsp; <a href="Release+Notes.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Release+Notes" title="Release Notes"><b>Release Notes</b></a> &nbsp;&#124;&#124;&nbsp; <a href="Roadmap.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Roadmap" title="Roadmap"><b>Roadmap</b></a> &nbsp;&#124;&#124;&nbsp; <a href="Community.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Community" title="Community"><b>Community</b></a></p></td><td class="confluenceTd" valign="top">
<p>English | <a href="FAQ-zh.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/FAQ-zh" title="FAQ-zh"><b>中文</b></a></p></td></tr></tbody></table>

<h1><a name="FAQ-FAQ"></a>FAQ</h1>

<div>
<ul>
    <li><a href='#FAQ-1.%E5%A6%82%E6%9E%9C%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E4%B8%8D%E4%B8%8A%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F'>1. 如果服务注册不上怎么办？</a></li>
    <li><a href='#FAQ-2.%E5%87%BA%E7%8E%B0RpcException%3ANoprovideravailableforremoteservice%E5%BC%82%E5%B8%B8%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F'>2. 出现RpcException: No provider available for remote service异常怎么办？</a></li>
    <li><a href='#FAQ-3.%E5%87%BA%E7%8E%B0%E8%B0%83%E7%94%A8%E8%B6%85%E6%97%B6com.alibaba.dubbo.remoting.TimeoutException%E5%BC%82%E5%B8%B8%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F'>3. 出现调用超时com.alibaba.dubbo.remoting.TimeoutException异常怎么办？</a></li>
    <li><a href='#FAQ-4.%E5%87%BA%E7%8E%B0hessian%E5%BA%8F%E5%88%97%E5%8C%96%E5%A4%B1%E8%B4%A5com.caucho.hessian.client.HessianRuntimeException%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F'>4. 出现hessian序列化失败com.caucho.hessian.client.HessianRuntimeException怎么办？&lt; /h3&gt;</a></li>
    <li><a href='#FAQ-5.%E5%87%BA%E7%8E%B0Configurationproblem%3AUnabletolocateSpringNamespaceHandlerforXMLschemanamespace%5C'>5. 出现Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://repo.alibaba-inc.com/schema/dubbo]怎么办？</a></li>
    <li><a href='#FAQ-6.%E5%87%BA%E7%8E%B0%22%E6%B6%88%E6%81%AF%E5%8F%91%E9%80%81%E5%A4%B1%E8%B4%A5%22%E5%BC%82%E5%B8%B8%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F'>6. 出现"消息发送失败"异常怎么办？</a></li>
    <li><a href='#FAQ-7.%E5%87%BA%E7%8E%B0org.xml.sax.SAXParseException%3Acvcelt.1%3ACannotfindthedeclarationofelement%27beans%27%E5%BC%82%E5%B8%B8%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F'>7. 出现org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'异常怎么办？</a></li>
    <li><a href='#FAQ-8.%E9%A1%B9%E7%9B%AE%E4%BE%9D%E8%B5%96%E7%9A%84%E4%B8%89%E6%96%B9%E5%BA%93%E4%B8%8EDubbo%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E7%89%88%E6%9C%AC%E5%86%B2%E7%AA%81%E6%80%8E%E4%B9%88%E5%8A%9E%E3%80%82'>8. 项目依赖的三方库与Dubbo所依赖的版本冲突怎么办。</a></li>
    <li><a href='#FAQ-9.%E5%87%BA%E7%8E%B0java.util.concurrent.RejectedExecutionException%E6%88%96%E8%80%85Threadpoolexhausted%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F'>9. 出现java.util.concurrent.RejectedExecutionException或者Thread pool exhausted怎么办？</a></li>
    <li><a href='#FAQ-10.%E5%87%BA%E7%8E%B0com.alibaba.dubbo.registry.internal.rpc.exception.RpcLocalExceptionIoTargetIsNotConnected%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F'>10. 出现com.alibaba.dubbo.registry.internal.rpc.exception.RpcLocalExceptionIoTargetIsNotConnected怎么办？&lt; /h3&gt;</a></li>
    <li><a href='#FAQ-11.%E5%87%BA%E7%8E%B0Remoteserverreturnserror%3A%5C6%5C%2CGotinvocationexception%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F'>11. 出现Remote server returns error: [6], Got invocation exception怎么办？&lt; /h3&gt;</a></li>
    <li><a href='#FAQ-12.%E5%87%BA%E7%8E%B0Errorclosingconnection%2Ftbrclientjava.lang.NullPointerException%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F'>12. 出现Error closing connection/tbr-client java.lang.NullPointerException怎么办？</a></li>
    <li><a href='#FAQ-13.%E5%87%BA%E7%8E%B0org.springframework.beans.factory.BeanCreationException%3AErrorcreatingbeanwithname%27xxxService%27%3AInitializationofbeanfailed%3Bnestedexceptionisjava.lang.IllegalArgumentException%3AMethodmustnotbenull%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F'>13. 出现org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xxxService': Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Method must not be null怎么办？</a></li>
    <li><a href='#FAQ-14.%E5%87%BA%E7%8E%B0Errorsettingpropertyvalues%3Bnestedexceptionisorg.springframework.beans.NotWritablePropertyException%3AInvalidproperty%27applicationName%27ofbeanclass%5Ccom.alibaba.dubbo.registry.internal....'>14. 出现Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'applicationName' of bean class [com.alibaba.dubbo.registry.internal.DefaultRegistryService]: Bean property 'applicationName' is not writable or has an invalid setter method.怎么办？</a></li>
    <li><a href='#FAQ-15.%E6%9C%8D%E5%8A%A1%E6%8F%90%E4%BE%9B%E8%80%85%E6%B2%A1%E6%8C%82%EF%BC%8C%E4%BD%86%E5%9C%A8%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83%E9%87%8C%E7%9C%8B%E4%B8%8D%E5%88%B0%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F'>15. 服务提供者没挂，但在注册中心里看不到怎么办？</a></li>
    <li><a href='#FAQ-16.%E5%87%BA%E7%8E%B0ERRORmonitor.StatLog%5C%E6%8B%92%E7%BB%9D%E8%BF%9E%E6%8E%A5java.net.ConnectException%3A%E6%8B%92%E7%BB%9D%E8%BF%9E%E6%8E%A5com.alibaba.dubbo.monitor.StatLog.sendStatData%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F'>16. 出现ERROR monitor.StatLog -拒绝连接 java.net.ConnectException:拒绝连接 com.alibaba.dubbo.monitor.StatLog.sendStatData怎么办？</a></li>
    <li><a href='#FAQ-17.%E6%9C%8D%E5%8A%A1%E5%9C%B0%E5%9D%80%E5%87%BA%E7%8E%B0127.0.0.1%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F'>17. 服务地址出现127.0.0.1怎么办？</a></li>
    <li><a href='#FAQ-18.%E9%80%9A%E8%BF%87netstat%5Canp%E7%9C%8B%E5%88%B0%E8%BF%9E%E6%8E%A5%E7%9A%84%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83%E5%92%8C%E9%85%8D%E7%BD%AE%E7%9A%84%E4%B8%8D%E4%B8%80%E6%A0%B7%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F'>18. 通过netstat -anp看到连接的注册中心和配置的不一样怎么办？</a></li>
    <li><a href='#FAQ-19.%E5%AE%A2%E6%88%B7%E7%AB%AF%E7%9A%84%E5%BC%82%E5%B8%B8%E4%BF%A1%E6%81%AF%E9%87%8C%E7%9A%84errorcode%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D%3F'>19. 客户端的异常信息里的errorcode是什么意思?</a></li>
    <li><a href='#FAQ-20.%E5%87%BA%E7%8E%B0expectedstringat0%C3%9733java.lang.String%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F'>20. 出现expected string at 0×33 java.lang.String 怎么办？</a></li>
    <li><a href='#FAQ-23.%E8%8E%B7%E5%8F%96%E7%89%88%E6%9C%AC%E5%8F%B7%E5%87%BA%E7%8E%B0java.lang.NullPointerException%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F'>23. 获取版本号出现java.lang.NullPointerException怎么办？</a></li>
    <li><a href='#FAQ-24.%E4%BB%A5%E5%8F%8A%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%8D%A0%E4%BD%8D%E7%AC%A6%EF%BC%9F'>24. 以及配置中如何使用占位符？</a></li>
    <li><a href='#FAQ-25.%E4%BD%BF%E7%94%A8%E5%A4%9A%E4%B8%AA%E8%BF%9B%E7%A8%8B%E5%90%AF%E5%8A%A8%E6%9C%8D%E5%8A%A1%EF%BC%8C%E7%AB%AF%E5%8F%A3%E5%86%B2%E7%AA%81%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F'>25. 使用多个进程启动服务，端口冲突怎么办？</a></li>
    <li><a href='#FAQ-26.%E5%A6%82%E4%BD%95%E5%8A%A0%E8%BD%BDSpring%EF%BC%9F'>26. 如何加载Spring？</a></li>
    <li><a href='#FAQ-27.%E5%87%BA%E7%8E%B0org.xml.sax.SAXParseException%3Acvccomplextype.2.4.c%3AThematchingwildcardisstrict%2Cbutnodeclarationcanbefoundforelement%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F'>27. 出现org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element怎么办？</a></li>
    <li><a href='#FAQ-28.%E5%87%BA%E7%8E%B0Couldnotdeserializeparameterinstance%2Cerroris%3AreadObject%3Aunexpectedendoffile%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F'>28. 出现Could not deserialize parameter instance, error is: readObject: unexpected end of file怎么办？</a></li>
    <li><a href='#FAQ-29.%E5%87%BA%E7%8E%B0java.net.SocketException%3AInvalidargument%3Asun.nio.ch.Net.setIntOption%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F'>29. 出现java.net.SocketException: Invalid argument: sun.nio.ch.Net.setIntOption怎么办？</a></li>
</ul></div>

<h3><a name="FAQ-1.%E5%A6%82%E6%9E%9C%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E4%B8%8D%E4%B8%8A%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F"></a>1. 如果服务注册不上怎么办？</h3>

<p>(1) 检查dubbo的jar包有没有在classpath中，以及有没有重复的jar包<br/>
(2) 检查有没有重复的dubbo.properties配置文件<br/>
(3) 检查暴露服务的spring配置有没有加载<br/>
(4) 检查beanId或beanName有没有重复<br/>
(5) 查看有没有错误日志：<br/>
cat &#126;/output/logs/webx.log<br/>
(6) 在服务提供者机器上测试与注册中心的网络是否通：<br/>
telnet 172.22.3.94 9090<br/>
(7) 检查与注册中心的连接是否存在：<br/>
netstat &#45;anp &#124; grep 172.22.3.94<br/>
(8) 如果是预发布机，检查hosts文件有没有正确绑定：<br/>
cat /etc/hosts<br/>
(9) 实在不行，开启远程调试：<br/>
&#8211; (a) 在服务器JVM参数中加入：-Xdebug &#45;Xnoagent &#45;Djava.compiler=NONE &#45;Xrunjdwp:transport=dt_socket,address=7001,server=y,suspend=y<br/>
注意线上只有7001和8080可以被线下访问，调试端口需用这两个之一，因注册是启动时行为，启动时必需挂起suspend=y<br/>
&#8211; (b) 在dubbo源码的DefaultRegistryService的registerService()方法中设置断点。<br/>
&#8211; (c) 在Eclipse的Debug按钮下拉菜单Debug Configurations中的Remote Java Applications中新增远程调试，并设置IP和端口，以及增加dubbo的源码，进行远程Debug调试。</p>

<h3><a name="FAQ-2.%E5%87%BA%E7%8E%B0RpcException%3ANoprovideravailableforremoteservice%E5%BC%82%E5%B8%B8%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F"></a>2. 出现RpcException: No provider available for remote service异常怎么办？</h3>

<p>表示没有可用的服务提供者，<br/>
1. 检查连接的注册中心是否正确<br/>
2. 到注册中心查看相应的服务提供者是否存在<br/>
3. 检查服务提供者是否正常运行</p>

<h3><a name="FAQ-3.%E5%87%BA%E7%8E%B0%E8%B0%83%E7%94%A8%E8%B6%85%E6%97%B6com.alibaba.dubbo.remoting.TimeoutException%E5%BC%82%E5%B8%B8%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F"></a>3. 出现调用超时com.alibaba.dubbo.remoting.TimeoutException异常怎么办？</h3>

<p>通常是业务处理太慢，可在服务提供方执行：jstack PID &gt; jstack.log 分析线程都卡在哪个方法调用上，这里就是慢的原因。<br/>
如果不能调优性能，请将timeout设大。</p>

<h3><a name="FAQ-4.%E5%87%BA%E7%8E%B0hessian%E5%BA%8F%E5%88%97%E5%8C%96%E5%A4%B1%E8%B4%A5com.caucho.hessian.client.HessianRuntimeException%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F"></a>4. 出现hessian序列化失败com.caucho.hessian.client.HessianRuntimeException怎么办？</h3>

<p>1. 检查服务方法的传入传出参数是否实现Serializable接口<br/>
2. 检查服务方法的传入传出参数是否继承了Number,Date,ArrayList,HashMap等hessian特殊化处理的类</p>

<h3><a name="FAQ-5.%E5%87%BA%E7%8E%B0Configurationproblem%3AUnabletolocateSpringNamespaceHandlerforXMLschemanamespace%5C"></a>5. 出现Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://repo.alibaba-inc.com/schema/dubbo]怎么办？</h3>

<p>表示spring找不到&lt;dubbo:...&gt;配置的解析处理器。<br/>
通常是Dubbo的jar没有引入，请加入对Dubbo的依赖，或者是ClassLoader隔离，看是否有使用osgi或其它热加载机制。</p>

<h3><a name="FAQ-6.%E5%87%BA%E7%8E%B0%22%E6%B6%88%E6%81%AF%E5%8F%91%E9%80%81%E5%A4%B1%E8%B4%A5%22%E5%BC%82%E5%B8%B8%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F"></a>6. 出现"消息发送失败"异常怎么办？</h3>

<p>通常是接口方法的传入传出参数未实现Serializable接口。</p>

<h3><a name="FAQ-7.%E5%87%BA%E7%8E%B0org.xml.sax.SAXParseException%3Acvcelt.1%3ACannotfindthedeclarationofelement%27beans%27%E5%BC%82%E5%B8%B8%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F"></a>7. 出现org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'异常怎么办？</h3>

<p>表示xsd加载失败，<br/>
1. 检查spring版本，如果是spring2.0版本，因为该版本不能读取jar包内xsd，会读取外网的xsd，而线上环境通常不允许访问外网，<br/>
可修改/etc/hosts加入：(已将spring的xsd放在公司内部的maven仓库中)</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<script type="syntaxhighlighter" class="theme: Confluence; brush: java; gutter: false"><![CDATA[10.20.133.138  repo.alibaba-inc.com  www.springframework.org]]></script>
</div></div>
<p>spring2.5.x版本不存在此问题，可以考虑升级到2.5.x版本。<br/>
2. 检查有没有使用osgi的xsd，如果用了，需要将spring-osgi.jar及其依赖包加进来</p>

<h3><a name="FAQ-8.%E9%A1%B9%E7%9B%AE%E4%BE%9D%E8%B5%96%E7%9A%84%E4%B8%89%E6%96%B9%E5%BA%93%E4%B8%8EDubbo%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E7%89%88%E6%9C%AC%E5%86%B2%E7%AA%81%E6%80%8E%E4%B9%88%E5%8A%9E%E3%80%82"></a>8. 项目依赖的三方库与Dubbo所依赖的版本冲突怎么办。</h3>

<p>比如，项目使用的spring和commons.pool与dubbo冲突，<br/>
dubbo使用的是spring2.5和commons.pool1.4，<br/>
而项目中其它模块依赖的是spring2.0.1和commons.pool1.3。</p>

<p>1. 在Maven中，使用项目根pom.xml中的dependencyManagement版本仲裁解决：</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<script type="syntaxhighlighter" class="theme: Confluence; brush: xml; gutter: false"><![CDATA[&lt;dependencyManagement&gt;
  &lt;dependencies&gt;
	&lt;dependency&gt;
		&lt;groupId&gt;com.alibaba.external&lt;/groupId&gt;
		&lt;artifactId&gt;sourceforge.spring&lt;/artifactId&gt;
		&lt;version&gt;2.0.1&lt;/version&gt;
	&lt;/dependency&gt;
	&lt;dependency&gt;
		&lt;groupId&gt;com.alibaba.external&lt;/groupId&gt;
		&lt;artifactId&gt;jakarta.commons.poolg&lt;/artifactId&gt;
		&lt;version&gt;1.3&lt;/version&gt;
	&lt;/dependency&gt;
  &lt;/dependencies&gt;
&lt;/dependencyManagement&gt;]]></script>
</div></div>
<p>2. 在Antx中，使用项目根project.xml中版本仲裁解决：</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<script type="syntaxhighlighter" class="theme: Confluence; brush: xml; gutter: false"><![CDATA[&lt;projects name="thirdpart"&gt;
	&lt;project id="sourceforge/spring" version="2.0.1"/&gt;
	&lt;project id="jakarta/commons/pool" version="1.3"/&gt;
&lt;/projects&gt;]]></script>
</div></div>

<h3><a name="FAQ-9.%E5%87%BA%E7%8E%B0java.util.concurrent.RejectedExecutionException%E6%88%96%E8%80%85Threadpoolexhausted%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F"></a>9. 出现java.util.concurrent.RejectedExecutionException或者Thread pool exhausted怎么办？</h3>

<p>RejectedExecutionException表示线程池已经达到最大值，并且没有空闲连，拒绝执行了一些任务。<br/>
Thread pool exhausted通常是min和max不一样大时，表示当前已创建的连接用完，进行了一次扩充，创建了新线程，但不影响运行。<br/>
原因可能是连接池不够用，请调整dubbo.properites中的：</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<script type="syntaxhighlighter" class="theme: Confluence; brush: java; gutter: false"><![CDATA[// 设成一样大，减少线程池收缩开销
dubbo.service.min.thread.pool.size=200
dubbo.service.max.thread.pool.size=200]]></script>
</div></div>
<p>配置项说明请参见：<a href="javascript:if(confirm(%27http://b2b-doc.alibaba-inc.com/pages/viewpage.action?pageId=40557470  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://b2b-doc.alibaba-inc.com/pages/viewpage.action?pageId=40557470%27" tppabs="http://b2b-doc.alibaba-inc.com/pages/viewpage.action?pageId=40557470" class="external-link" rel="nofollow">配置参考手册</a><br/>
如果线程池已经有200，还不够，通常是业务处理占用线程时间过长，<br/>
需优化业务，可通过运行：<br/>
jstack 进程号 &gt; jstack.txt<br/>
分析当前大多数线程都在干什么，从而分析出哪个地方是瓶颈，<br/>
比如，如果大部分线程都在处理SQL，可能是数据库连接不够，或数据源配置错误，或SQL没走索引等。</p>

<h3><a name="FAQ-10.%E5%87%BA%E7%8E%B0com.alibaba.dubbo.registry.internal.rpc.exception.RpcLocalExceptionIoTargetIsNotConnected%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F"></a>10. 出现com.alibaba.dubbo.registry.internal.rpc.exception.RpcLocalExceptionIoTargetIsNotConnected怎么办？</h3>

<p>1. 检查注册中心是否开启白名单功能，如果开启，当IP不在白名单列表中，注册中心将拒绝连接。<br/>
2. 检查端口是否正确，注册中心有两个端口，一个为控制台HTTP端口，用于管理员查看数据，一个为程序注册服务用的TCP端口。</p>

<h3><a name="FAQ-11.%E5%87%BA%E7%8E%B0Remoteserverreturnserror%3A%5C6%5C%2CGotinvocationexception%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F"></a>11. 出现Remote server returns error: [6], Got invocation exception怎么办？</h3>

<p>此异常表示Dubbo框架调用服务提供者的实现方法失败，并且不是方法本身的业务异常。<br/>
通常是服务消费者和服务提供者的API签名不一致引起，或者提供方比消费方少此函数。<br/>
一般是服务增加方法，或修改了方法签名，而双方用的服务API的jar包不一致。</p>

<h3><a name="FAQ-12.%E5%87%BA%E7%8E%B0Errorclosingconnection%2Ftbrclientjava.lang.NullPointerException%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F"></a>12. 出现Error closing connection/tbr-client java.lang.NullPointerException怎么办？</h3>

<p>如果服务提供者先关闭，当注册中心通知服务消费者后，服务消费者会再次关闭与服务提供者的连接，<br/>
而此时连接早已不存在，TBRemoting没有判断null，直接调用了close方法，所以会抛出空指针异常，<br/>
由于TBRemoting源码由taobao管理，暂时未解决此BUG，但不影响使用，可忽略。<br/>
Dubbo1.0.11-3以后版本已hack了taobao的代码，不存在此问题。</p>

<h3><a name="FAQ-13.%E5%87%BA%E7%8E%B0org.springframework.beans.factory.BeanCreationException%3AErrorcreatingbeanwithname%27xxxService%27%3AInitializationofbeanfailed%3Bnestedexceptionisjava.lang.IllegalArgumentException%3AMethodmustnotbenull%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F"></a>13. 出现org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xxxService': Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Method must not be null怎么办？</h3>

<p>通常是classpath下存在spring多个版本的jar包，排除掉不需要的spring包即可。</p>

<h3><a name="FAQ-14.%E5%87%BA%E7%8E%B0Errorsettingpropertyvalues%3Bnestedexceptionisorg.springframework.beans.NotWritablePropertyException%3AInvalidproperty%27applicationName%27ofbeanclass%5Ccom.alibaba.dubbo.registry.internal...."></a>14. 出现Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'applicationName' of bean class [com.alibaba.dubbo.registry.internal.DefaultRegistryService]: Bean property 'applicationName' is not writable or has an invalid setter method.怎么办？</h3>

<p>出现类似的dubbo某个类的属性没有setter方法的异常，通常是classpath下有多个不同版本的dubbo的jar包，导致配置文件与类不匹配。<br/>
可以在程序中运行下面的代码发现重复的类或jar包：(代码中的类名视具体冲突而定)</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<script type="syntaxhighlighter" class="theme: Confluence; brush: java; gutter: false"><![CDATA[Enumeration&lt;URL&gt; urls = Thread.currentThread().getContextClassLoader().getResources("com/alibaba/dubbo/registry/internal/DefaultRegistryService.class");
while (urls.hasMoreElements()) {
	URL url = urls.nextElement();
	System.out.println("&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;" + url.getFile());
}]]></script>
</div></div>

<h3><a name="FAQ-15.%E6%9C%8D%E5%8A%A1%E6%8F%90%E4%BE%9B%E8%80%85%E6%B2%A1%E6%8C%82%EF%BC%8C%E4%BD%86%E5%9C%A8%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83%E9%87%8C%E7%9C%8B%E4%B8%8D%E5%88%B0%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F"></a>15. 服务提供者没挂，但在注册中心里看不到怎么办？</h3>

<p>首先，确认服务提供者是否连接了正确的注册中心，不只是检查配置中的注册中心地址，而且要检查实际的网络连接。<br/>
其次，看服务提供者是否非常繁忙，比如压力测试，以至于没有CPU片段向注册中心发送心跳，这种情况，减小压力，将自动恢复。</p>

<h3><a name="FAQ-16.%E5%87%BA%E7%8E%B0ERRORmonitor.StatLog%5C%E6%8B%92%E7%BB%9D%E8%BF%9E%E6%8E%A5java.net.ConnectException%3A%E6%8B%92%E7%BB%9D%E8%BF%9E%E6%8E%A5com.alibaba.dubbo.monitor.StatLog.sendStatData%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F"></a>16. 出现ERROR monitor.StatLog &#45;拒绝连接 java.net.ConnectException:拒绝连接 com.alibaba.dubbo.monitor.StatLog.sendStatData怎么办？</h3>

<p>监控中心不可用，发送统计信息失败，不影响调用，但将丢失统计信息。</p>

<h3><a name="FAQ-17.%E6%9C%8D%E5%8A%A1%E5%9C%B0%E5%9D%80%E5%87%BA%E7%8E%B0127.0.0.1%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F"></a>17. 服务地址出现127.0.0.1怎么办？</h3>

<p>Dubbo1.0.7以后版本不存在此问题，当发现本机IP为127.0.0.1时，将遍历所有网卡查找有效IP。<br/>
之前版本处理方式：<br/>
正确配置的IP映射，Linux下为/etc/hosts，Windows下为C:/WINDOWS/system32/drivers/etc/hosts<br/>
假设：ifconfig命令行结果为10.20.130.230，hostname命令行结果为test2，<br/>
则配置为：</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<script type="syntaxhighlighter" class="theme: Confluence; brush: java; gutter: false"><![CDATA[127.0.0.1 localhost
10.20.130.230 test2]]></script>
</div></div>

<h3><a name="FAQ-18.%E9%80%9A%E8%BF%87netstat%5Canp%E7%9C%8B%E5%88%B0%E8%BF%9E%E6%8E%A5%E7%9A%84%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83%E5%92%8C%E9%85%8D%E7%BD%AE%E7%9A%84%E4%B8%8D%E4%B8%80%E6%A0%B7%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F"></a>18. 通过netstat &#45;anp看到连接的注册中心和配置的不一样怎么办？</h3>

<p>检查classpath下是否存在两个dubbo.properties文件：</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<script type="syntaxhighlighter" class="theme: Confluence; brush: java; gutter: false"><![CDATA[Enumeration&lt;URL&gt; urls = Thread.currentThread().getContextClassLoader().getResources("dubbo.properties");
while (urls.hasMoreElements()) {
   URL url = urls.nextElement();
   System.out.println("&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;" + url.getFile());
}]]></script>
</div></div>

<h3><a name="FAQ-19.%E5%AE%A2%E6%88%B7%E7%AB%AF%E7%9A%84%E5%BC%82%E5%B8%B8%E4%BF%A1%E6%81%AF%E9%87%8C%E7%9A%84errorcode%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D%3F"></a>19. 客户端的异常信息里的errorcode是什么意思?</h3>

<p>如Remote server returns error: [6], Got invocation exception<br/>
1 &#8212; 收到消息的时候线程池拒绝处理<br/>
2 &#8212; 服务提供者端未能根据服务名找到相应服务<br/>
3 &#8212; 该服务调用时，服务提供者端不能加载参数类型对应的class<br/>
4 &#8212; 参数不能被正确的反序列化<br/>
5 &#8212; 不能正确从Class中create该调用所指示的方法<br/>
6 &#8212; 不能正确调用该方法</p>

<h3><a name="FAQ-20.%E5%87%BA%E7%8E%B0expectedstringat0%C3%9733java.lang.String%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F"></a>20. 出现expected string at 0×33 java.lang.String 怎么办？</h3>

<p>这是Hessian3.2.1的一个BUG，Dubbo内部使用Hessian3.2.1做序列化，升级到Dubbo1.0.14以上版本，已解决此问题。<br/>
具体原因参见：<br/>
<a href="javascript:if(confirm(%27http://pt.alibaba-inc.com/wp/experience_929/hessian-big-string-serialize-problems.html  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://pt.alibaba-inc.com/wp/experience_929/hessian-big-string-serialize-problems.html%27" tppabs="http://pt.alibaba-inc.com/wp/experience_929/hessian-big-string-serialize-problems.html" class="external-link" rel="nofollow">http://pt.alibaba-inc.com/wp/experience_929/hessian-big-string-serialize-problems.html</a></p>

<h4><a name="FAQ-21.%E9%A2%84%E5%8F%91%E5%B8%83%E7%8E%AF%E5%A2%83%EF%BC%8C%E5%9C%A8%E6%9C%AC%E5%9C%B0%E7%9A%84%2Fetc%2Fhosts%E6%96%87%E4%BB%B6%E4%BD%9C%E4%BA%86%E5%AF%B9%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83%E7%9A%84%E7%BB%91%E5%AE%9A%EF%BC%8C%E4%B8%BA%E4%BB%80%E4%B9%88%E6%9C%8D%E5%8A%A1%E8%BF%98%E6%98%AF%E6%B3%A8%E5%86%8C%E5%88%B0%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E7%9A%84%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83%EF%BC%9F"></a>21. 预发布环境，在本地的/etc/hosts文件作了对注册中心的绑定，为什么服务还是注册到生产环境的注册中心？</h4>

<p>antx.properties中配置的 dubbo.registry.address = dubbo-reg1.hst.xyi.cn.alidc.net dubbo-reg2.hst.xyi.cn.alidc.net dubbo-reg3.hst.xyi.cn.alidc.net dubbo-reg4.hst.xyi.cn.alidc.net<br/>
而/etc/hosts里的绑定如下：<br/>
172.22.14.13 dubbo-reg1.hst.xyi.cn.alidc.net dubbo-reg2.hst.xyi.cn.alidc.net<br/>
两边的不一致，导致该问题出现。<br/>
将绑定修改为：172.22.14.13 dubbo-reg1.hst.xyi.cn.alidc.net dubbo-reg2.hst.xyi.cn.alidc.net dubbo-reg3.hst.xyi.cn.alidc.net dubbo-reg4.hst.xyi.cn.alidc.net 即可！</p>
<h4><a name="FAQ-22.%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83%E4%B8%8A%E6%9C%8D%E5%8A%A1%E6%98%AF%E5%AD%98%E5%9C%A8%E7%9A%84%EF%BC%8C%E4%B8%BA%E4%BB%80%E4%B9%88%E6%8A%A5%E6%89%BE%E4%B8%8D%E5%88%B0%E6%9C%8D%E5%8A%A1%E7%9A%84%E9%94%99%E8%AF%AF%EF%BC%9F"></a>22. 注册中心上服务是存在的，为什么报找不到服务的错误？</h4>
<p>报错信息： Caused by: com.alibaba.dubbo.rpc.RpcException: No invoker available for remote service com.alibaba.china.album.service.IBankNewPicService:1.0.0, servers: []</p>

<p>注册中心上看到的服务提供者提供的服务地址是：dubbo://172.29.61.76:55372?version=1.0.0&amp;group=ibank&amp;dubbo=1.0.0&amp;application=ibank<br/>
原因：服务提供者配置了group属性，默认的路由规则是 服务名= group/serviceName。<br/>
对这个服务，根据默认的路由规则，消费者消费的服务名应该是 ibank/com.alibaba.china.album.service.IBankNewPicService:1.0.0</p>

<h3><a name="FAQ-23.%E8%8E%B7%E5%8F%96%E7%89%88%E6%9C%AC%E5%8F%B7%E5%87%BA%E7%8E%B0java.lang.NullPointerException%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F"></a>23. 获取版本号出现java.lang.NullPointerException怎么办？</h3>
<p>java.lang.NullPointerException<br/>
        at com.alibaba.dubbo.classic.DubboVersion.getVersion<br/>
这个只有1.0.14和1.0.14-2存在的问题，在获取版本时静态字段初始化顺序不对，不影使用，可忽略，升级为1.0.15以上版本不再会有该问题。</p>

<h3><a name="FAQ-24.%E4%BB%A5%E5%8F%8A%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%8D%A0%E4%BD%8D%E7%AC%A6%EF%BC%9F"></a>24. 以及配置中如何使用占位符？</h3>

<p><font color="gray"><em>注：此为Spring的标准功能，仅在此提示使用方式，不属于Dubbo范畴。</em></font></p>

<p>使用Spring自带的PropertyPlaceholderConfigurer实现properties配置：</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<script type="syntaxhighlighter" class="theme: Confluence; brush: xml; gutter: false"><![CDATA[xxx=10.20.130.230:9090
yyy=morgan]]></script>
</div></div>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<script type="syntaxhighlighter" class="theme: Confluence; brush: xml; gutter: false"><![CDATA[&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:dubbo="http://repo.alibaba-inc.com/schema/dubbo"
	xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://repo.alibaba-inc.com/schema/dubbohttp://repo.alibaba-inc.com/schema/dubbo/dubbo-component.xsd"&gt;

	&lt;!-- 使用Spring自带的占位符替换功能 --&gt;
	&lt;bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"&gt;
		&lt;!-- 指定properties配置所在位置 --&gt;
		&lt;property name="location" value="classpath:xxx.properties" /&gt;
	&lt;/bean&gt;

	&lt;!-- 使用${}引用配置项 --&gt;
	&lt;dubbo:registry address="${xxx}" application="${yyy}" /&gt;

&lt;/beans&gt;]]></script>
</div></div>

<h3><a name="FAQ-25.%E4%BD%BF%E7%94%A8%E5%A4%9A%E4%B8%AA%E8%BF%9B%E7%A8%8B%E5%90%AF%E5%8A%A8%E6%9C%8D%E5%8A%A1%EF%BC%8C%E7%AB%AF%E5%8F%A3%E5%86%B2%E7%AA%81%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F"></a>25. 使用多个进程启动服务，端口冲突怎么办？</h3>

<p><font color="gray"><em>注：此为Spring的标准功能，仅在此提示使用方式，不属于Dubbo范畴。</em></font></p>

<p>使用Spring自带的PropertyPlaceholderConfigurer的SYSTEM_PROPERTIES_MODE_OVERRIDE实现通过-D参数设置端口：</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<script type="syntaxhighlighter" class="theme: Confluence; brush: xml; gutter: false"><![CDATA[java -Ddubbo.service.server.port=20881]]></script>
</div></div>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<script type="syntaxhighlighter" class="theme: Confluence; brush: xml; gutter: false"><![CDATA[&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:dubbo="http://repo.alibaba-inc.com/schema/dubbo"
	xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://repo.alibaba-inc.com/schema/dubbohttp://repo.alibaba-inc.com/schema/dubbo/dubbo-component.xsd"&gt;

	&lt;!-- 使用Spring自带的占位符替换功能 --&gt;
	&lt;bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"&gt;
		&lt;!-- 系统-D参数覆盖 --&gt;
		&lt;property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /&gt;
		&lt;!-- 指定properties配置所在位置 --&gt;
		&lt;property name="location" value="classpath:xxx.properties" /&gt;
	&lt;/bean&gt;

	&lt;!-- 使用${}引用配置项 --&gt;
	&lt;dubbo:provider port="${dubbo.service.server.port}" /&gt;

&lt;/beans&gt;]]></script>
</div></div>

<h3><a name="FAQ-26.%E5%A6%82%E4%BD%95%E5%8A%A0%E8%BD%BDSpring%EF%BC%9F"></a>26. 如何加载Spring？</h3>

<p><font color="gray"><em>注：此为Spring的标准功能，仅在此提示使用方式，不属于Dubbo范畴。</em></font></p>

<p><b>1. 基于ClassPath加载：</b></p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<script type="syntaxhighlighter" class="theme: Confluence; brush: java; gutter: false"><![CDATA[ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[}{"http://10.20.160.198/wiki/display/dubbo/service.xml"});
context.start();]]></script>
</div></div>
<p><b>2. 基于文件系统加载：</b></p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<script type="syntaxhighlighter" class="theme: Confluence; brush: java; gutter: false"><![CDATA[FileSystemXmlApplicationContext context = new FileSystemXmlApplicationContext(new String[}{"http://10.20.160.198/home/xxx/service.xml"});
context.start();]]></script>
</div></div>
<p><b>3. 基于Web容器加载：</b>(WEB-INF/web.xml)</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<script type="syntaxhighlighter" class="theme: Confluence; brush: xml; gutter: false"><![CDATA[&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_4.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_4.xsd"
	id="appication" version="2.4"&gt;
	&lt;context-param&gt;
		&lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;
		&lt;param-value&gt;classpath:service.xml&lt;/param-value&gt;
	&lt;/context-param&gt;
	&lt;listener&gt;
		&lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt;
	&lt;/listener&gt;
&lt;/web-app&gt;]]></script>
</div></div>

<h3><a name="FAQ-27.%E5%87%BA%E7%8E%B0org.xml.sax.SAXParseException%3Acvccomplextype.2.4.c%3AThematchingwildcardisstrict%2Cbutnodeclarationcanbefoundforelement%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F"></a>27. 出现org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element怎么办？</h3>
<p>通常是在用Dubbo1.0的jar包，却用了Dubbo2.0才支持的&lt;dubbo:registry&gt; &lt;dubbo:application&gt; &lt;dubbo:provider&gt; &lt;dubbo:consumer&gt;或2.0才支持的属性。</p>

<h3><a name="FAQ-28.%E5%87%BA%E7%8E%B0Couldnotdeserializeparameterinstance%2Cerroris%3AreadObject%3Aunexpectedendoffile%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F"></a>28. 出现Could not deserialize parameter instance, error is: readObject: unexpected end of file怎么办？</h3>
<p>通常是消费方或提供方的内存不足，导致buffer不能分配，使发送到一半的请求被中断了。<br/>
也可能是网络抖动，导致传输流被中断。</p>

<h3><a name="FAQ-29.%E5%87%BA%E7%8E%B0java.net.SocketException%3AInvalidargument%3Asun.nio.ch.Net.setIntOption%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F"></a>29. 出现java.net.SocketException: Invalid argument: sun.nio.ch.Net.setIntOption怎么办？</h3>

<p>通常是Windows Vista和Windows7的JDK1.6的部分版本存在BUG：<br/>
<a href="javascript:if(confirm(%27https://issues.apache.org/jira/browse/DIRMINA-379  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27https://issues.apache.org/jira/browse/DIRMINA-379%27" tppabs="https://issues.apache.org/jira/browse/DIRMINA-379" class="external-link" rel="nofollow">https://issues.apache.org/jira/browse/DIRMINA-379</a><br/>
可以换换JDK版本试试。</p>
        </div>

        <!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
         <rdf:Description
    rdf:about="http://code.alibabatech.com/wiki/display/dubbo/FAQ"
    dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/FAQ"
    dc:title="FAQ"
    trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/6947249"/>
</rdf:RDF>
-->

            
    


<fieldset class="hidden parameters">
    <legend>Labels parameters</legend>
    <input type="hidden" id="domainName" value="http://code.alibabatech.com/wiki">
    <input type="hidden" id="pageId" value="6947249">
    <input type="hidden" id="spaceKey" value="dubbo">
</fieldset>

<div id="labels-section" class="pageSection">
    <div class="labels-editor">
        <span id="labels-section-title" class="label-title">
            <b>Labels:</b>
        </span>
        <div id="labels-section-content" class="content-column">
            <span id="labels-section-title-none" class="label-title none  hidden ">
                None
            </span>

            <div id="labelsList" class="label-list">
                <div id="label-7307267" class="confluence-label">
    <a class="label" rel="nofollow" href="javascript:if(confirm(%27http://10.20.160.198/wiki/label/dubbo/dubbo  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/label/dubbo/dubbo%27" tppabs="http://10.20.160.198/wiki/label/dubbo/dubbo">dubbo</a>    <span class="remove-label-caption">dubbo</span>
    <a class="remove-label" href="#">Delete</a>
</div>
<div id="label-7307272" class="confluence-label">
    <a class="label" rel="nofollow" href="javascript:if(confirm(%27http://10.20.160.198/wiki/label/dubbo/faq  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/label/dubbo/faq%27" tppabs="http://10.20.160.198/wiki/label/dubbo/faq">faq</a>    <span class="remove-label-caption">faq</span>
    <a class="remove-label" href="#">Delete</a>
</div>
            </div>

                    </div>

        <span class="errorMessage error" id="errorSpan"></span>
        <form method="GET" action="" id="add-labels-form">
            <div id="labelInputSpan" class="labels-input">
                <div id="labelOperationErrorContainer" class="hidden">
                    <span class="error"><span class="errorMessage" id="labelOperationErrorMessage"></span></span>
                </div>

                <div class="caption">Enter labels to add to this page:</div>
                <div id="label-input-fields">
                    <input autocomplete="off" id="labelsString" name="labelsString" value="" size="40">
                    <input id="add-labels-editor-button" type="submit" class="add-labels" value="Add">
                    <input id="close-labels-editor-button" type="submit" class="hide-labels-editor" value="Done">
                </div>
                <div id="waitImageAndStatus">
                    <img class="waiting" alt="Please wait" src="wait.gif" tppabs="http://10.20.160.198/wiki/s/en/2166/34/_/images/icons/wait.gif">&nbsp;
                    <span id="labelOperationStatus" class="smalltext"></span>
                </div>
                <div id="labelsAutocompleteList" class="aui-dd-parent"></div>
                <div class="labels-tip">
                    <div id="suggestedLabelsSpan"></div>
                    Looking for a label? Just start typing.
                </div>
            </div>
        </form>
    </div>
</div>

            
            




            
    

        
<fieldset class="parameters hidden">
    <input type="hidden" id="deleteCommentConfirmMessage" value="Are you sure you want to remove the comment?">
    <input type="hidden" id="collapseTooltip" value="Click to toggle the display of this comment.">
        </fieldset>

<fieldset class="hidden parameters i18n">
        <input type="hidden" title="i18n.cancel.name" value="Cancel">
</fieldset>






<div id="comments-section" class="pageSection">
    
            <div class="section-header ">
            <h2 id="comments-section-title" class="section-title">
                <a href="#" class="comments-show-hide comments-showing" name="comments">
                                            3 Comments
                                    </a>
            </h2>
            <a title="comments.show.hide" href="#"
               class="comments-show-hide icon comments-showing icon-section-opened">
               comments.show.hide
            </a>
        </div>
    
    
                            <ol class="comment-threads top-level " id="page-comments">
                        <li id="comment-thread-7674424" class="comment-thread">
                    <div class="comment  " id="comment-7674424">
                <p class="comment-user-logo">
                    <img class="userLogo logo anonymous" src="anonymous.png" tppabs="http://10.20.160.198/wiki/s/en/2166/34/_/images/icons/profilepics/anonymous.png"
            alt="User icon: Anonymous" title="Anonymous">                </p>
                <p class="date" title="十月 26, 2012 12:39">
                    十月 26, 2012
                </p>
                <div class="comment-header">
                    <h4 class="author">Anonymous</h4>
                </div>
                <div class="comment-body">
                    <div class="comment-content wiki-content">
                        <p>注册中心是什么概念，我测试的时候怎么选择注册中心的地址呢</p>
                    </div>
                    <div class="comment-actions">
                                                    <ul id="comment-actions-secondary">
                                                          <li class="first comment-permalink">
            <a title="Permanent link to this comment" href="FAQ-focusedCommentId=7674424.htm#comment-7674424" tppabs="http://10.20.160.198/wiki/display/dubbo/FAQ?focusedCommentId=7674424#comment-7674424"
                id="comment-permalink-7674424"                ><span>Permalink</span></a></li>
            </ul>
                            <ul id="comment-actions-primary">
                                                          <li class="first action-reply-comment">
            <a  href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=7674424&pageId=6947249  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=7674424&pageId=6947249%27" tppabs="http://10.20.160.198/wiki/pages/replycomment.action?commentId=7674424&pageId=6947249"
                id="reply-comment-7674424"                ><span>Reply</span></a></li>
            </ul>
                    </div>
                </div>
            </div>

            <!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
         <rdf:Description
    rdf:about="http://code.alibabatech.com/wiki/display/dubbo/FAQ?focusedCommentId=7674424#comment-7674424"
    dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/FAQ?focusedCommentId=7674424#comment-7674424"
    dc:title="FAQ"
    trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/7674424"/>
</rdf:RDF>
-->

                    
                                </li>
                        <li id="comment-thread-8356012" class="comment-thread">
                    <div class="comment  " id="comment-8356012">
                <p class="comment-user-logo">
                    <img class="userLogo logo anonymous" src="anonymous.png" tppabs="http://10.20.160.198/wiki/s/en/2166/34/_/images/icons/profilepics/anonymous.png"
            alt="User icon: Anonymous" title="Anonymous">                </p>
                <p class="date" title="一月 11, 2013 13:34">
                    一月 11, 2013
                </p>
                <div class="comment-header">
                    <h4 class="author">Anonymous</h4>
                </div>
                <div class="comment-body">
                    <div class="comment-content wiki-content">
                        <p>我可以用jmeter对dubbo服务做压力测试吗？如果可以，怎么做？如果不可以，用什么方式可以直接针对服务做可用性、性能测试？</p>
                    </div>
                    <div class="comment-actions">
                                                    <ul id="comment-actions-secondary">
                                                          <li class="first comment-permalink">
            <a title="Permanent link to this comment" href="FAQ-focusedCommentId=8356012.htm#comment-8356012" tppabs="http://10.20.160.198/wiki/display/dubbo/FAQ?focusedCommentId=8356012#comment-8356012"
                id="comment-permalink-8356012"                ><span>Permalink</span></a></li>
            </ul>
                            <ul id="comment-actions-primary">
                                                          <li class="first action-reply-comment">
            <a  href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=8356012&pageId=6947249  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=8356012&pageId=6947249%27" tppabs="http://10.20.160.198/wiki/pages/replycomment.action?commentId=8356012&pageId=6947249"
                id="reply-comment-8356012"                ><span>Reply</span></a></li>
            </ul>
                    </div>
                </div>
            </div>

            <!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
         <rdf:Description
    rdf:about="http://code.alibabatech.com/wiki/display/dubbo/FAQ?focusedCommentId=8356012#comment-8356012"
    dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/FAQ?focusedCommentId=8356012#comment-8356012"
    dc:title="FAQ"
    trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/8356012"/>
</rdf:RDF>
-->

                    
                                </li>
                        <li id="comment-thread-9633823" class="comment-thread">
                    <div class="comment  focused  " id="comment-9633823">
                <p class="comment-user-logo">
                    <a  class="userLogoLink" data-username="bruce" href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~bruce  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~bruce%27" tppabs="http://10.20.160.198/wiki/display/~bruce">
               <img class="userLogo logo" src="default.gif" tppabs="http://10.20.160.198/wiki/images/icons/profilepics/default.gif"
               alt="User icon: bruce" title="bruce">
           </a>                </p>
                <p class="date" title="十二月 27, 2013 10:09">
                    十二月 27, 2013
                </p>
                <div class="comment-header">
                    <h4 class="author"><a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~bruce  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~bruce%27" tppabs="http://10.20.160.198/wiki/display/~bruce"
                          class="url fn confluence-userlink" data-username="bruce"
                   >bruceqin</a></h4>
                </div>
                <div class="comment-body">
                    <div class="comment-content wiki-content">
                        <p>我想用dubbo集成一个服务，多个web项目做client，集中调用这个service服务；有个问题不太明白，做完后service服务是打包启动就可以了，但在开始过程中怎么在不打包的情况下debug程序呢？</p>
                    </div>
                    <div class="comment-actions">
                                                    <ul id="comment-actions-secondary">
                                                          <li class="first comment-permalink">
            <a title="Permanent link to this comment" href="FAQ-focusedCommentId=9633823.htm#comment-9633823" tppabs="http://10.20.160.198/wiki/display/dubbo/FAQ?focusedCommentId=9633823#comment-9633823"
                id="comment-permalink-9633823"                ><span>Permalink</span></a></li>
            </ul>
                            <ul id="comment-actions-primary">
                                                          <li class="first action-reply-comment">
            <a  href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=9633823&pageId=6947249  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=9633823&pageId=6947249%27" tppabs="http://10.20.160.198/wiki/pages/replycomment.action?commentId=9633823&pageId=6947249"
                id="reply-comment-9633823"                ><span>Reply</span></a></li>
            </ul>
                    </div>
                </div>
            </div>

            <!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
         <rdf:Description
    rdf:about="http://code.alibabatech.com/wiki/display/dubbo/FAQ?focusedCommentId=9633823#comment-9633823"
    dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/FAQ?focusedCommentId=9633823#comment-9633823"
    dc:title="FAQ"
    trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/9633823"/>
</rdf:RDF>
-->

                    
                                </li>
                </ol>
    
                                        <a id="add-comment-bottom" href="FAQ-showComments=true&showCommentArea=true.htm#addcomment" tppabs="http://10.20.160.198/wiki/display/dubbo/FAQ?showComments=true&showCommentArea=true#addcomment">
                    Add Comment
                </a>
                        </div>


            
</div>


    



    
    

    
    
    


<script type="text/x-template" title="manage-watchers-dialog">
<div class="dialog-content">
    <div class="column page-watchers">
        <h3>Watching this page</h3>
        <p class="description">These people are notified when the page is changed. You can add or remove people from this list.</p>
        <form action="/wiki/json/addwatch.action" method="POST">
                <input type="hidden" name="atl_token" value="c116db80711201b36e2067aa83f3b044c2d5a30e">
            <input type="hidden" name="pageId" value="6947249"/>
            <input type="hidden" id="add-watcher-username" name="username" value=""/>
            <label for="add-watcher-user">User</label>
            <input id="add-watcher-user" name="userFullName" type="search" class="autocomplete-user"
               value="" placeholder="Full name or username" autocomplete="off"
               data-max="10" data-target="#add-watcher-username" data-dropdown-target="#add-watcher-dropdown"
               data-template="{title}" data-none-message="No matching users found.">
            <input id="add-watcher-submit" type="submit" name="add" value="Add">
            <div id="add-watcher-dropdown" class="aui-dd-parent autocomplete"></div>
            <div class="status hidden"></div>
        </form>
        <ul class="user-list">
            <li class="loading">Loading&hellip;</li>
            <li class="no-users hidden">No page watchers</li>
        </ul>
    </div>
    <div class="column space-watchers">
        <h3>Watching this space</h3>
        <p class="description">These people are notified when any content in the space is changed. You cannot modify this list.</p>
        <ul class="user-list">
            <li class="loading">Loading&hellip;</li>
            <li class="no-users hidden">No space watchers</li>
        </ul>
    </div>
</div>
</script>
<script type="text/x-template" title="manage-watchers-user">
    <li class="watch-user">
        <img class="profile-picture confluence-userlink" src="{iconUrl}" data-username="{username}">
        <a class="confluence-userlink" href="{url}" data-username="{username}">{fullName} <span class="username">({username})</span></a>
        <span class="remove-watch" title="Remove"
            data-username="{username}">Remove</span>
    </li>
</script>
<script type="text/x-template" title="manage-watchers-help-link">
    <div class="dialog-help-link">
            <a href="http://docs.atlassian.com/confluence/docs-35/Managing+Watchers" target="_blank">Help</a>
    </div>
</script>

    <br class="clear">
</div><!-- \#main -->

<div id="footer">
                                                <p class="license license-opensource">
                  Powered by a free <b>Atlassian Confluence Open Source Project License</b> granted to Alibaba Tech. <a href="javascript:if(confirm(%27http://www.atlassian.com/c/conf/11461  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://www.atlassian.com/c/conf/11461%27" tppabs="http://www.atlassian.com/c/conf/11461">Evaluate Confluence today</a>.<br>
                </p>
                        
    <ul id="poweredby">
        <li class="noprint">Powered by <a href="javascript:if(confirm(%27http://www.atlassian.com/software/confluence  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://www.atlassian.com/software/confluence%27" tppabs="http://www.atlassian.com/software/confluence" class="hover-footer-link">Atlassian Confluence</a> 3.5.9, the <a href="javascript:if(confirm(%27http://www.atlassian.com/software/confluence/tour/enterprise-wiki.jsp  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://www.atlassian.com/software/confluence/tour/enterprise-wiki.jsp%27" tppabs="http://www.atlassian.com/software/confluence/tour/enterprise-wiki.jsp" class="hover-footer-link">Enterprise Wiki</a></li>
        <li class="print-only">Printed by Atlassian Confluence 3.5.9, the Enterprise Wiki.</li>        
        <li class="noprint"> &nbsp; |&nbsp; <a href="javascript:if(confirm(%27http://jira.atlassian.com/secure/BrowseProject.jspa?id=10470  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://jira.atlassian.com/secure/BrowseProject.jspa?id=10470%27" tppabs="http://jira.atlassian.com/secure/BrowseProject.jspa?id=10470" class="hover-footer-link">Report a bug</a></li>
        <li class="noprint"> &nbsp;|&nbsp; <a href="javascript:if(confirm(%27http://www.atlassian.com/about/connected.jsp?s_kwcid=Confluence-stayintouch  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://www.atlassian.com/about/connected.jsp?s_kwcid=Confluence-stayintouch%27" tppabs="http://www.atlassian.com/about/connected.jsp?s_kwcid=Confluence-stayintouch" class="hover-footer-link">Atlassian News</a></li>
    </ul>

    

            友情链接:<a href="javascript:if(confirm(%27http://code.taobao.org/  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://code.taobao.org/%27" tppabs="http://code.taobao.org/">Taocode</a>
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-31474478-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www/') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
    </div></div><!-- \#full-height-container -->
</div><!-- \#page -->
</body>
</html>
